package com.ibeeking.gmc.global.service.common.dos;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;

/**
 * @ClassName TimeTaskDO
 * @Description
 * @Author ibeeking
 * @Date 2020-12-23 13:43
 **/
@Data
@TableName("gmc_time_task")
public class TimeTaskDO implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(value = "id" , type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 行业类型:mall=电商平台；mdi=制造业
     */
    @TableField(value = "industry")
    private String industry;

    /**
     * 任务类型，1-一次性任务，2-长久性任务
     */
    @TableField(value = "job_type")
    private Integer jobType;

    /**
     * 任务名称
     */
    @TableField(value = "job_name")
    private String jobName;
    /**
     * 业务标识健
     */
    @TableField(value = "business_key")
    private String businessKey;
    /**
     * 路由策略
     */
    @TableField(value = "route_strategy")
    private String routeStrategy;
    /**
     * 运行模式
     */
    @TableField(value = "glue_type")
    private String glueType;
    /**
     * 执行时间表达式
     */
    @TableField(value = "job_cron")
    private String jobCron;

    /**
     * 执行器，任务Handler名称
     */
    @TableField(value = "executor_handler")
    private String executorHandler;
    /**
     * 执行器，任务参数
     */
    @TableField(value = "executor_param")
    private String executorParam;
    /**
     * 执行器，阻塞处理策略
     */
    @TableField(value = "executor_block_strategy")
    private String executorBlockStrategy;
    /**
     * 任务执行超时时间，单位秒
     */
    @TableField(value = "executor_timeout")
    private Integer executorTimeout;
    /**
     * 任务调度状态：0-停止，1-运行
     */
    @TableField(value = "executor_fail_retry_count")
    private Integer executorFailRetryCount;
    /**
     * 任务调度状态：0-停止，1-运行
     */
    @TableField(value = "trigger_status")
    private Integer triggerStatus;
    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 任务执行器class
     */
    @TableField(value = "job_clazz")
    private String jobClazz;

    /**
     * 任务创建method
     */
    @TableField(value = "job_create_method")
    private String jobCreateMethod;

    /**
     * 任务删除method
     */
    @TableField(value = "job_del_method")
    private String jobDelMethod;
    /**
     * 是否启用，1-启用，0-禁用
     */
    @TableField(value = "publish_status")
    private Integer publishStatus;

}
